In current aircraft navigation systems, a navigation database is generally necessary in order to store notably the data relating to the flight plans, to the flight procedures, to the routes, to the airports, to the beacons and to the waypoints.
These databases require numerous accesses during a flight notably to define or modify a flight plan, engage a particular procedure such as a landing procedure, a takeoff procedure or else an approach or rejoining procedure.
When a pilot is searching for an airport for example, current databases perform either a dichotomy search or a linear search on tables of objects classed according to the search criterion.
As regards navigation databases, their size generally necessitates the use of indices. In this case, the database can allow a first search on an index followed by read-access to the objects of the database.
Numerous applications of the navigation system, such as for example the flight management system of an aircraft, also called the FMS, make it necessary to carry out numerous queries of very diverse types on the navigation database upon initialization and then during certain of an aircraft's flight phases.
Furthermore, the requirement for flight safety makes it necessary, during data exchanges between the various applications of the navigation system and the navigation database, to minimize the response times, to improve the effectiveness of the applications, to reduce the error rates and to optimize the data searches.
A known problem related to searching a navigation database on the basis of a search criterion is that there is a risk of the response times being increased if several items of information related to the objects of the database are analyzed although they are not utilized subsequently by the application.
A second problem generally encountered, when a client application uses an index in a search of the navigation database, is that access to the base requires that the targeted object be read so as to ascertain its type for example. This read-access therefore necessitates a needless indirection if the object sought is of a given type.
Another problem generally encountered is the large memory volume occupied by these indices.
Finally a problem related to the use of an index is that the index generally refers to an identifier of an object making it possible to retrieve the object from the database. It is then necessary to re-perform a search of the navigation database on the basis of the identifiers of the objects.
A limitation is therefore that of the response time of the queries to the database and of the extraction of the data sought. Notably, when certain systems are not embedded such as those of Windows, the solution which consists in indexing a maximum of data of the database makes it possible to facilitate the searches. On the other hand this solution is memory expensive for electronic systems intended to be embedded aboard an aircraft.
In other applications that are critical from the point of view of the available memory, indexation may decrease the performance of the query response times.
Moreover, a second problem is that of the right of access to the data.